# **函数的引用（函数名字--函数功能）可以进行传递**
# shuchu = print
#
# shuchu('大家好，我是渣渣辉，师兄弟就来砍我')
# shuchu(123)
# shuchu(True)
# shuchu([1.2, 3])

# 降龙十八掌：见龙在田，飞龙在天，鸿渐于陆，龙跃在渊，羝羊触蕃，
# 潜龙勿用，利涉大川，神龙摆尾，密云不雨，突如其来，鱼跃于渊，
# 双龙取水，震惊百里，损则有孚，时乘六龙，龙战于野，履霜冰至，亢龙有悔
# def gong_fu():
#     print('飞龙在天')
#     print('双龙取水')
#     print('亢龙有悔')
#     print('神龙摆尾')
#     print('潜龙勿用')
#
#
# zhou_xing_chi = gong_fu
#
# zhou_xing_chi() # zhou_xing_chi() = gong_fu()


# 闭包

# # 函数闭包的语法格式
# def out_func():
#     print('我是out函数，被执行啦！')
#
#     def inner_func():
#         print('我是inner函数，被执行啦！')
#
#     return inner_func
#
#
# inner = out_func()  # inner = inner_func
# inner()  # # inner() = inner_func()


# 核心点：
# 函数在定义的时候不会被调用
# 函数返回值返回到函数调用地方
# 函数的引用（函数的名字:功能）可以进行传递


def uot_func():
    print('out')

    def inner_func():
        print('inner')

    return inner_func


# i = uot_func()  # i = inner_func
# i()  # i() = inner_func()
